BottleH Blog

02. Gradle의 Task

    Tags

  • Build Tool
  • Gradle
02. Gradle의 Task thumbnail

02. Gradle의 Task

Gradle은 명령에 의해 테스크(task) 을 수행할 수 있다.

🛠Task

01. 기본

build.gradle에서 테스크의 처리를 기술해두면, 그것을 gradle 명령으로 호출 실행 시킬 수 있다.

task 테스크명 { 처리 } task hello { println('hello world') }

02. doFirst와 doLast

task 테스크명 { doFirst { 처리 } doLast { 처리 } }
  • doFirst : 최초에 수행하는 액션
  • doLast : 최후에 수행 하는 액션

03. 매개변수 전달

task hello { doLast { def n = max.toInteger() for(def i in 1..n){ println("No," + i + " count.") } println("--end.") } }

태스크는 수행할 때 필요한 값을 매개 변수로 전달할 수 있다.

$ gradle hello -Pmax=값

위와 같은 명령어로 실행가능하다.

04. 다른 테스크 호출

task a {……} tasks.a.execute()

작업하는 것은 모든 tasks라고 객체에 정리하고 있으며 그 중 execute 를 호출해 실행한다.

05. 종속 테스크 지정

어떤 테스크를 수행할 때, 다른 작업 수행이 필수적인 경우에는 dependsOn을 사용한다.

task 테스크명 (dependsOn : '테스크') { 처리 } task 테스크명 { dependsOn : '테스크' 처리 }

위와 같은 방법들을 이용하면 작업이 호출될 때, 먼저 dependsOn에 지정된 작업을 수행하고 그것이 끝난 후에 테스크의 본 처리를 수행함.

06. Default Task 상속 클래스

Gradle은 표준으로 다양한 테스크가 포함되어 있는데, 이것들은 DefaultTask라는 클래스를 상속한 클래스이다.

class 클래스 extends DefaultTask { ...... 필드 ...... void 메소드(인수) { ...... 처리 ...... } @TaskAction void 메소드() { ...... 처리 ...... } }

테스크로 수행할 처리를 메소드로 제공한다. 이 메소드에는 @TaskAction 어노테이션을 붙인다.

  • 외부에서 사용하는 경우는 private 필드로 설정하여 접근을 위한 메소드를 따로 제공하자.

reference: https://gradle.org/ http://www.devkuma.com/books/pages/1064

Written by@BottleH
Back-End Developer

GitHub